﻿#if defined(_MSC_VER_) || defined(WIN64) || defined(_WIN64) || defined(__WIN64__) || defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__)
#ifdef MYDLL_EXPORTS	//注意格式 *_EXPORTS
#define MYDLL_API __declspec(dllexport)
#else
#define MYDLL_API __declspec(dllimport)
#endif
#else
#define MYDLL_API __attribute__((visibility("default")))
#endif

#include "IMyDll.h"
#include "MyDll.h"
#include <memory>

std::shared_ptr<IMyDll> sptr;
extern "C" MYDLL_API std::shared_ptr<IMyDll>* GetObj()
{
	sptr = std::make_shared<MyDll>();
	return &sptr;	//返回引用（地址），不能使用局部变量，否则出作用域后为空
}